﻿$(document).ready(function () {

    $.validator.addMethod(
        "regexp",
        function (value, element, string) {
            var regex;

            switch (string) {
                case 'account':
                    regex = /^[A-Za-z][A-Za-z0-9_]+$/;
                    $.validator.messages.regexp = "Tên tài khoản phải bắt đầu với 1 ký tự. TTK chỉ chứa ký tự, số và ký tự _";
                    break;
                case 'password':
                    regex = /^[A-Za-z0-9]+$/;
                    $.validator.messages.regexp = "Chỉ chấp nhận chữ cái và số";
                    break;
                case 'fname':
                    regex = /^[A-Za-z ]+[A-Za-z]$/;
                    $.validator.messages.regexp = "Chỉ chấp nhận chữ cái, khoảng trắng và bắt đầu với ít nhất 2 ký tự";
                    break;
                case 'lname':
                    regex = /^[A-Za-z]+$/;
                    $.validator.messages.regexp = "Chỉ chấp nhận chữ cái";
                    break;
                default:
                    regex = /^[A-Za-z0-9]+$/;
                    $.validator.messages.regexp = "Không đúng lệnh";
                    break;
            }
            var re = new RegExp(regex);
            return this.optional(element) || re.test(value);
        },
        ""
    );

    //-----------------------------------------------------------------------------------------------------------------
    //-----------------------------------------------------------------------------------------------------------------
    //-----------------------------------------------------------------------------------------------------------------

    //Login form validate
    var loginFrm = $('#login-frm');
    loginFrm.validate({
        rules: {
            username: {
                regexp: 'account',
                required: true
            },
            password: {
                required: true
            }
        },
    });


    //Register member validate
    var regismemFrm = $('#regismem-frm');
    regismemFrm.validate({
        rules: {
            UserName: {
                minlength: 6,
                regexp: "account",
                required: true
            },
            Password: {
                minlength: 6,
                regexp: "password",
                required: true
            },
            repassword: {
                equalTo: "#pwd",
                regexp: "password",
                minlength: 6,
                required: true
            },
            FirstName: {
                regexp: "fname",
                required: true
            },
            LastName: {
                regexp: "lname",
                required: true
            },
            Gender: {
                required: true
            },
            Email: {
                email: true,
                required: true
            }
        },
        messages: {
            UserName: {
                required: "Bắt Buộc"
            },
            Password: {
                minlength: "Ít nhất 6 ký tự",
                required: "Bắt Buộc"
            },
            repassword: {
                equalTo: "Chưa trùng với mật khẩu",
                minlength: "Ít nhất 6 ký tự",
                required: "Bắt Buộc"
            },
            FirstName: {
                required: "Bắt Buộc"
            },
            LastName: {
                required: "Bắt Buộc"
            },
            Gender: {
                required: "Bắt Buộc"
            },
            Email: {
                email: "Chưa đúng định dạng email",
                required: "Bắt Buộc"
            }
        }
    });

    var createAdvFrm = $('#createAdv-frm');
    createAdvFrm.validate({
        rules: {
            title: {
                minlength: 2,
                required: true
            },
            mediatype: {
                required: true
            },
            categories: {
                required: true
            },
            preimg: {
                required: true
            },
            shortdes: {
                required: true
            },
            productname: {
                required: true
            }
        },
        messages: {
            title: {
                minlength: "Ít nhất 2 ký tự",
                required: "Bắt Buộc"
            },
            mediatype: {
                required: "Bắt Buộc"
            },
            categories: {
                required: "Bắt Buộc"
            },
            preimg: {
                required: "Bắt Buộc"
            },
            shortdes: {
                required: "Bắt Buộc"
            },
            productname: {
                required: "Bắt Buộc"
            }
        }
    });


    var editAdvFrm = $('#editAdv-frm');
    editAdvFrm.validate({
        rules: {
            title: {
                minlength: 2,
                required: true
            },
            shortdes: {
                required: true
            },
            productname: {
                required: true
            }
        },
        messages: {
            title: {
                minlength: "Ít nhất 2 ký tự",
                required: "Bắt Buộc"
            },
            shortdes: {
                required: "Bắt Buộc"
            },
            productname: {
                required: "Bắt Buộc"
            }
        }
    });

    var changepassFrm = $('#changepass-frm');
    changepassFrm.validate({
        rules: {
            oldpwd: {
                minlength: 6,
                regexp: "password",
                required: true
            },
            newpwd: {
                minlength: 6,
                regexp: "password",
                required: true
            },
            repwd: {
                equalTo: "#newPass",
                regexp: "password",
                required: true
            }
        },
        messages: {
            oldpwd: {
                minlength: "Ít nhất 6 ký tự",
                required: "Bắt Buộc"
            },
            newpwd: {
                minlength: "Ít nhất 6 ký tự",
                required: "Bắt Buộc"
            },
            repwd: {
                equalTo: "Chưa trùng với mật khẩu",
                minlength: "Ít nhất 6 ký tự",
                required: "Bắt Buộc"
            }
        }
    });
});